#pragma once

#include <string>
#include <vector>
#include "FlipFlop.h"

using namespace std;

class SchaltwerkElement
{
public:
	SchaltwerkElement();
	SchaltwerkElement(FlipFlop gtyp);
	~SchaltwerkElement(void);

	string getName();
	FlipFlop getTyp();
	double getLaufzeitEinzelgatter();
	SchaltwerkElement getNachfolger(int pos);
	int getAnzahlNachfolger();
	short getAnzahlEingangssignale();
	bool getIsEingangsElement();
	bool getIsAusgangsElement();

	void setName(string n);
	void nachfolgerHinzufuegen(SchaltwerkElement& schaltwerkElement);
	void setAnzahlEingangssignale(short anz);
	void setIsEingangsElement(bool var);
	void setIsAusgangsElement(bool var);
	void setLaufzeitEinzelgatter(double lfz);

private:
	string name;
	FlipFlop typ;
	double laufzeitEinzelgatter;
	vector<SchaltwerkElement> folger;
	bool isEingangsElement;
	bool isAusgangsElement;
	short anzahlEingangssignale;
};

